import { ref } from 'vue'
import dayjs from "dayjs"

// 获取 今天、昨天、一月 时间日期
export function getTypeData(type, hsm) {
    let timeObj = {
        startTime: '',
        endTime: ''
    }
    if(hsm) {
        if(type === 'today') {
            timeObj.startTime = dayjs(new Date()).format('YYYY-MM-DD') + ' ' + '00:00:00'
            timeObj.endTime = dayjs(new Date()).format('YYYY-MM-DD') + ' ' + '23:59:59'
        } else if (type === 'yesterday') {
            timeObj.startTime = dayjs().subtract(1, 'day').format('YYYY-MM-DD') + ' ' + '00:00:00'
            timeObj.endTime = dayjs().subtract(1, 'day').format('YYYY-MM-DD') + ' ' + '23:59:59'
        } else {
            timeObj.startTime = dayjs().subtract(30, 'day').format('YYYY-MM-DD') + ' ' + '00:00:00'
            timeObj.endTime = dayjs(new Date()).format('YYYY-MM-DD') + ' ' + '23:59:59'
        }
    } else {
        if(type === 'today') {
            timeObj.startTime = dayjs(new Date()).format('YYYY-MM-DD')
            timeObj.endTime = dayjs(new Date()).format('YYYY-MM-DD')
        } else if (type === 'yesterday') {
            timeObj.startTime = dayjs().subtract(1, 'day').format('YYYY-MM-DD')
            timeObj.endTime = dayjs().subtract(1, 'day').format('YYYY-MM-DD')
        } else {
            timeObj.startTime = dayjs().subtract(30, 'day').format('YYYY-MM-DD')
            timeObj.endTime = dayjs(new Date()).format('YYYY-MM-DD')
        }
    }
    return timeObj
}

// 设置日期选择开始时间
export function setDateStart(endTime, date) {
    if(endTime) {
        return dayjs(date).format('YYYY-MM-DD') > dayjs(endTime).format('YYYY-MM-DD')
            || dayjs(date).format('YYYY-MM-DD') < dayjs(endTime).subtract(90, 'day').format('YYYY-MM-DD')
            || dayjs(date).format('YYYY-MM-DD') > dayjs(new Date()).format('YYYY-MM-DD')
    } else {
        return dayjs(date).format('YYYY-MM-DD') > dayjs(new Date()).format('YYYY-MM-DD')
            || dayjs(date).format('YYYY-MM-DD') < dayjs(new Date()).subtract(90, 'day').format('YYYY-MM-DD')
    }
}

// 设置日期选择结束时间
export function setDateEnd(startTime, date) {
    if(startTime) {
        return dayjs(startTime).format('YYYY-MM-DD') > dayjs(date).format('YYYY-MM-DD')
            || dayjs(date).format('YYYY-MM-DD') > dayjs(startTime).add(90, 'day').format('YYYY-MM-DD')
            || dayjs(date).format('YYYY-MM-DD') > dayjs(new Date()).format('YYYY-MM-DD')
    } else {
        return dayjs(date).format('YYYY-MM-DD') > dayjs(new Date()).format('YYYY-MM-DD')
            || dayjs(date).format('YYYY-MM-DD') < dayjs(new Date()).subtract(90, 'day').format('YYYY-MM-DD')
    }
}
